/-boot
BootController.ts
BootLayout.ts
StorageLoader.ts
boot.ts
/-docs
/-editor
/-files
/-files-old
/-imports
/-layout
MainLayout.ts
file.html
folder.html
page.html
teapo.css
/-storage
/-storage/attached
/-storage/attached/api
/-storage/attached/dom
DetectStorage.ts
LoadStorage.ts
UpdateStorage.ts
/-storage/attached/indexedDB
/-storage/attached/localStorage
/-storage/attached/webSQL
/-tests
/-typings
Dom.ts
TypeScriptService.ts
functions.ts
ko.ts
nteapo.html
persistence.api.ts
persistence.ts
shell.ts
teapo.html
teapo.ts
try.html
try.js
xxxxxxxxxx
 
1
module teapo {
2
3
  export class Dom {
4
5
    constructor(public documenOverride = document) {
6
    }
7
8
    getElementById(id: string): HTMLElement {
9
      return this.documenOverride.getElementById(id);
10
    }
11
12
    createElement(tagName: string, style?: any, parent?: HTMLElement): HTMLElement {
13
      var elem = this.documenOverride.createElement(tagName);
14
      Dom.applyStyle(elem, style);
15
      if (parent)
16
        parent.appendChild(elem);
17
      return elem;
18
    }
19
20
    static applyStyle(elem: HTMLElement, style: any) {
21
      if (!style) return;
22
      for (var k in style) if (style.hasOwnProperty(k)) {
23
        if (k === 'text') {
24
          Dom.setText(elem, <any>style[k]);
25
        }
26
        else {
27
          try { elem.style[k] = style[k]; }
28
          catch (error) {  }
29
        }
30
      }
31
    }
32
33
    static setText(elem: HTMLElement, text: string) {
34
      if ('textContent' in elem)
35
        elem.textContent = text;
36
      else
37
        elem.innerText = text;
38
    }
39
40
    static addEventListener(element: any, type: string, listener: (event: Event) => void, useCapture?: boolean) {
41
      if (element.addEventListener) {
42
        if (typeof useCapture==='undefined')
43
          (<HTMLElement>element).addEventListener(type, listener);
44
        else
45
          (<HTMLElement>element).addEventListener(type, listener, useCapture);
46
      }
47
      else {
48
        var ontype = 'on' + type;
49
50
        if (element.attachEvent) {
51
          element.attachEvent('on' + type, listener);
52
        }
53
        else if (element[ontype]) {
54
          element[ontype] = listener;
55
        }
56
      }
57
    }
58
59
    static addEventListenerWithDelay(element: any, type: string, listener: (event: Event) => void, useCapture?: boolean) {
60
      var queued = false;
28:9